package com.beiding.jsonanalyzer.querylink;

public class GroupQueryLinkNode  {
//extends ComputeNode

    /**
     * 分组器
     */
//    private Grouper grouper = new Grouper();

//    public GroupQueryLinkNode(QueryLinkNode preNode, KeyMode keyMode) {
//        super(preNode);
////        grouper.keyMode(keyMode);
//    }
//
//    public GroupQueryLinkNode by(Object refer) {
////        grouper.by(refer);
//        return this;
//    }

/*

    @Override
    protected void bindByComputeNode(BranchNode<ValueNode> preResult, BranchNode<ValueNode> newBranchNode){
*/


        //一定是线程安全的
//        List<ValueNode> batch = new ArrayList<>();
//
//        preResult.getDataFlow().visit(new ComputeNodeVisitor(newBranchNode) {
//            private void exeBatch() {
//                if (batch.size() > 0) {
//                    List<ValueNode> all = grouper.groupFor(batch);
//                    for (ValueNode node : all) {
//                        newBranchNode.signNode(node);
//                    }
//                    batch.clear();
//                }
//            }
//
//            @Override
//            protected void transformNode(BranchNode<ValueNode> r, ValueNode node) {
//                batch.addElement(node);
//            }
//
//            @Override
//            public void onBatchEnd() {
//                exeBatch();
//                super.onBatchEnd();
//            }
//
//            @Override
//            public void onEnd() {
//                exeBatch();
//                super.onEnd();
//            }
//        });
    }


